package com.cmc.cloud.cmclink.doc.vo.edo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import static com.cmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * EDO
 * @author heguo
 */
@Data
public class CnTaoEdoBaseVO extends EdoBaseVO{

    @Schema(description = "换单IC卡卡号")
    private String icCard;
    @Schema(description = "证书编号")
    private String certNo;
    @Schema(description = "企业社会统一编码")
    private String orgRegCo;
    @Schema(description = "换单船代公司代码")
    private String shippingAgencyCode;
    @Schema(description = "换单船代公司名称")
    private String shippingAgencyName;
    @Schema(description = "换单货代企业代码")
    private String companyCode;
    @Schema(description = "换单货代企业名称")
    private String companyName;
    @Schema(description = "消息类型")
    private String msgType;
    /**
     * 0：查询
     * 1：新增
     * 2：修改
     * 3：删除
     * */
    @Schema(description = "操作类型")
    private String functionCode;
    /**
     * 默认json
     * */
    @Schema(description = "请求报文数据格式")
    private String format;
    @Schema(description = "是否压缩")
    private String compress;
    @Schema(description = "msgId")
    private String msgId;

    @Schema(description = "提货单文件编号")
    private String deliveryOrderFileId;

    @Schema(description = "船代联系人")
    private String contactPerson;
    @Schema(description = "船代联系方式")
    private String contactInfo;
    @Schema(description = "换单地址")
    private String contactAddress;
    @Schema(description = "备注")
    private String remark;
    @Schema(description = "电子提货单生成时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String deliveryCreateTime;
    @Schema(description = "换单操作人姓名")
    private String switchOperator;

    @Schema(description = "内外贸标识 N-内贸;W-外贸")
    private String tradeFlag;
    @Schema(description = "受理押箱企业代码")
    private String acceptDepositCoCode;
    @Schema(description = "受理押箱企业名称")
    private String acceptDepositCoName;
    @Schema(description = "设备交接单生成企业代码")
    private String eirCreateCoCode;
    @Schema(description = "设备交接单生成企业名称")
    private String eirCreateCoName;
    @Schema(description = "船代备注")
    private String shippingAgencyRemark;
    @Schema(description = "电子提货单编号")
    private String deliveryOrderNo;
    @Schema(description = "原因代码 01 拖欠换单费用 02 提货单发送错误 03 客户主动要 99 其他原因，当前默认99")
    private String reasonCode;
    @Schema(description = "原因描述")
    private String reasonDesc;

}
